package com.bstek.bdf2.core.business;

import com.bstek.bdf2.core.model.Group;
import com.bstek.bdf2.core.model.Role;
import org.springframework.security.core.userdetails.UserDetails;

import java.util.List;
import java.util.Map;
import java.util.Set;

public abstract interface IUser extends UserDetails, ICompany
{
  public abstract String getCname();

  public abstract String getEname();

  public abstract boolean isAdministrator();

  public abstract String getMobile();

  public abstract String getEmail();

  public abstract List<IDept> getDepts();

  public abstract List<IPosition> getPositions();

  public abstract List<Role> getRoles();

  public abstract List<Group> getGroups();

  public abstract Set<String> getPermissions();

  public abstract Map<String, Object> getMetadata();
}